From 539d271eff540d736d83aa66659518b872bd96c5 Mon Sep 17 00:00:00 2001 From: Ewan Mellor Date: Fri, 15 Dec 2006 17:18:02 +0000 Subject: [PATCH] Allow the XenAPI Session object to have login_with_password called as a methodname, to re-login through the same object (say when the server is restarted). Signed-off-by: Ewan Mellor --- tools/python/xen/xm/XenAPI.py | 8 ++++++-- tools/python/xen/xm/main.py | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/tools/python/xen/xm/XenAPI.py b/tools/python/xen/xm/XenAPI.py index a7835c0ebc..1c1bc41e94 100644 --- a/tools/python/xen/xm/XenAPI.py +++ b/tools/python/xen/xm/XenAPI.py @@ -83,8 +83,12 @@ class Session(xen.util.xmlrpclib2.ServerProxy): def xenapi_request(self, methodname, params): - full_params = (self._session,) + params - return _parse_result(getattr(self, methodname)(*full_params)) + if methodname.startswith('login'): + self._login(methodname, *params) + return None + else: + full_params = (self._session,) + params + return _parse_result(getattr(self, methodname)(*full_params)) def _login(self, method, username, password): diff --git a/tools/python/xen/xm/main.py b/tools/python/xen/xm/main.py index 059bbd46b2..a503835cf5 100644 --- a/tools/python/xen/xm/main.py +++ b/tools/python/xen/xm/main.py @@ -558,7 +558,7 @@ class Shell(cmd.Cmd): ok, res = _run_cmd(lambda x: server.xenapi_request(words[0], tuple(x)), words[0], words[1:]) - if ok and res != '': + if ok and res is not None and res != '': pprint.pprint(res) else: print '*** Unknown command: %s' % words[0] -- 2.30.2